home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
lang
/
sofa.lha
/
sofa
/
smalleiffel
/
bin_c
/
compile_to_c13.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-03-25
|
90KB
|
4,189 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://SmallEiffel.loria.fr/ --
*/
#include "compile_to_c.h"
T0* r129origin_base_class(T129* C){
T0* R=NULL;
R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
return R;
}
void r129error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r210try_to_undefine_aux(T210* C,T0* a1,T0* a2){
T0* R=NULL;
{T68 se_tmp0;
r66add_position((*(se_tmp0=r210start_position(C),&se_tmp0)));
}
{T68 se_tmp0;
r210error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms200_98784));
}
r51fatal_undefine(((T51*)a2),a1);
return R;
}
T0* r210try_to_undefine(T210* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
_fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X82undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r210try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
r210merge_header_comments(C,R);
}
else{
r51fatal_undefine(((T51*)a2),a1);
}
/*FI]*/
return R;
}
void r210check_obsolete(T210* C,T68 a1){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T0* r210to_run_feature(T210* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(a1);
R=r50at(((T50*)_rc),a2);
if(NULL!=(R)){
switch(((T0*)R)->id){
case 388:
break;
default:
R=NULL;
}
}/*[IF*/
if((R)==((void*)(NULL))){
{T388*n=((T388*)malloc(sizeof(*n))/*36*/);
*n=M388;
r388make(n,a1,a2,(T0*)C);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r210error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T6 r210is_not_mergeable_with(T210* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
R=(X90result_type(a1))!=((void*)(NULL));
}
else{
R=(X90result_type(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else{
/*[IF*/
{/*AT*/R=(X90arguments(a1))!=((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else {/*AT*/}
/*FI]*/
}
/*FI]*/
r210merge_header_comments(C,a1);
return R;
}
void r210make(T210* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T210*)(C)))->_names)=(a1);
/*]*/
(/*SFN*/C->_result_type)=a2;
(/*SFN*/C->_value_mem)=a3;
}
void r210add_into(T210* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
{T68 se_tmp0;
(/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
}
_i=1;
while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
{
_fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
/*[IF*/
if(r91has(((T91*)a1),X82to_key(_fn))){
_fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X82to_string(_fn);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
else{
r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r210can_hide(T210* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X90result_type(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r210error((*(se_tmp0=r210start_position(C),&se_tmp0)),((T0*)ms90_64152));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X90arguments(a1)))){
/*[IF*/
{/*AT*/{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r210error((*(se_tmp0=r210start_position(C),&se_tmp0)),((T0*)ms90_82612));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
/*[IF*/
if(!(X52is_a_in((/*RF2*/(C)->_result_type/*20*/),X90result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
/*[IF*/
if(R){
r210merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
void r210merge_header_comments(T210* C,T0* a1){
/*[IF*/
if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
/*[IF*/
if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
(/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
}
else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
}
/*FI]*/
}
/*FI]*/
}
T68 r210start_position(T210* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
}
return R;
}
T0* r265generic_list(T265* C){
T0* R=NULL;
r265fatal_error_generic_list(C);
return R;
}
void r265gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(3,a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
T0* r265base_class(T265* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(/*RF2*/(C)->_base_class_name/*4*/);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r265look_up_for(T265* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r265base_class(C)),a1,a2);
return R;
}
T6 r265has_creation(T265* C,T0* a1){
T6 R=0;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
r265error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
return R;
}
void r265error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r265actual_reference(T0* a1){
T0* R=NULL;
T0* _cn=NULL;
/*[IF*/
if((X52run_time_mark(a1))==((void*)(((T0*)ms15_16393)))){
R=a1;
}
else{
{T68 se_tmp0;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_16393),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
_cn=((T0*)n);
}
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
/*]*/
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T6 r265is_a_in(T265* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r265written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r265to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r265is_native_array(T265* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r265is_a(T265* C,T0* a1){
T6 R=0;
/*[IF*/
if(X52is_character(a1)){
R=1;
}
else{
R=r51is_subclass_of((T51*)(r265base_class(C)),X52base_class(a1));
}
/*FI]*/
/*[IF*/
if(!(R)){
r66add_type((T0*)C,((T0*)ms14_17460));
r66add_type(a1,((T0*)ms14_46));
}
/*FI]*/
return R;
}
void r265make(T265* C,T68 a1){
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_9801),a1);
(/*SFN*/C->_base_class_name)=((T0*)n);
}
}
void r265fatal_error_generic_list(T265* C){
r66add_type((T0*)C,((T0*)ms52_28899));
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r265c_initialize_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'0'));
/*FI]*/
}
T0* r265smallest_ancestor(T265* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_character(_rto)){
R=((T0*)(C));
}
else{
R=r272smallest_ancestor((T272*)(r265type_character_ref()),_rto);
}
/*FI]*/
return R;
}
int fBC265check_type=0;
void r265check_type(T265* C){
if(fBC265check_type==0){fBC265check_type=1;{
T0* _rc=NULL;
T0* _bc=NULL;
_bc=r265base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_rc=r265run_class(C);
r265load_ref(((T0*)ms15_16393));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
r265error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms265_43011));
}
/*FI]*/
}
/*FI]*/
}}}
T0*oBC265type_character_ref=NULL;
int fBC265type_character_ref=0;
T0* r265type_character_ref(void){
if(fBC265type_character_ref==0){fBC265type_character_ref=1;{
T0* _character_ref=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_16393));
/*]*/
_character_ref=((T0*)n);
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
oBC265type_character_ref=((T0*)n);
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_character_ref);
/*]*/
}
}}
return oBC265type_character_ref;
}
void r265load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
/*]*/
_cn=((T0*)n);
}
_rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
_rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
}
T0* r265to_runnable(T265* C,T0* a1){
T0* R=NULL;
R=((T0*)(C));
r265check_type(C);
return R;
}
void r265id_extra_information(T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
/*AF*//*AE*/
r48put_string(((T48*)a1),((T0*)ms52_759));
/*FI]*/
}
void r265gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(3,a1);
}
void r265c_type_for_external_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
r265c_type_for_argument_in(b1);
}/*]*/
/*FI]*/
}
void r265c_type_for_argument_in(T0* a1){
r7extend(((T7*)a1),((T3)'T'));
r7extend(((T7*)a1),((T3)'3'));
}
T0* r265run_time_mark(void){
T0* R=NULL;
R=((T0*)ms15_9801);
return R;
}
T0* r265run_class(T265* C){
T0* R=NULL;
R=r49run_class((T0*)C);
return R;
}
void r265demangling_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'E'));
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),r265run_time_mark());
}
T0* r265written_mark(void){
T0* R=NULL;
R=((T0*)ms15_9801);
return R;
}
T0* r283left_type(T283* C){
T0* R=NULL;
R=X104result_type((/*RF2*/(C)->_left_side/*4*/));
return R;
}
void r283make(T283* C,T0* a1,T0* a2){
(/*SFN*/C->_left_side)=a1;
(/*SFN*/C->_right_side)=a2;
}
void r283fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r283warning(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_warning((T66*)(oBC13eh));
}
T0* r283add_comment(T283* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
/*AF*/else{
{T224*n=((T224*)malloc(sizeof(*n))/*12*/);
*n=M224;
r224make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r283compile_to_c(T283* C){
T2 _i=0;
T0* _run=NULL;
{T68 se_tmp0;
r325se_trace_ins((T325*)(oBC13cpp),(*(se_tmp0=r283start_position(C),&se_tmp0)));
}
/*[IF*/
if(X52is_expanded(X52run_type(r283right_type(C)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=r283start_position(C),&se_tmp0)));
}
r283fatal_error(((T0*)ms283_116100));
}
/*FI]*/
_run=(/*RF2*/((T50*)(X52run_class(r283left_type(C))))->_running/*9*/);
/*[IF*/
if((_run)==((void*)(NULL))){
/*[IF*/
if(!(X104can_be_dropped((/*RF2*/(C)->_right_side/*8*/)))){
X104compile_to_c((/*RF2*/(C)->_right_side/*8*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
/*FI]*/
X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_3122));
/*]*/
}
else if(X104is_current((/*RF2*/(C)->_right_side/*8*/))){
/*[IF*/
if(r53fast_has(((T53*)_run),X52run_class(X104result_type((/*RF2*/(C)->_right_side/*8*/))))){
X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_6651));
/*]*/
X104compile_to_c((/*RF2*/(C)->_right_side/*8*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
else{
X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_3122));
/*]*/
}
/*FI]*/
}
else{
X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\75');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(X104is_current((/*RF2*/(C)->_right_side/*8*/))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_1275));
/*]*/
}
/*FI]*/
X104compile_to_c((/*RF2*/(C)->_right_side/*8*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_9552));
/*]*/
X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_17459));
/*]*/
X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_444));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_1895));
/*]*/
_i=(/*RF2*/(((T53*)_run))->_lower/*12*/);
while (!((_i)>((/*RF2*/(((T53*)_run))->_upper/*8*/))))
{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_2220));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T50*)(r53item(((T53*)_run),_i)))->_id/*4*/));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\72');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
_i=(_i)+(1);
}
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_10030));
/*]*/
X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_16260));
/*]*/
}
/*FI]*/
}
void r283afd_check(T283* C){
X104afd_check((/*RF2*/(C)->_right_side/*8*/));
}
void r283collect_c_tmp(T283* C){
X104collect_c_tmp((/*RF2*/(C)->_right_side/*8*/));
}
T6 r283use_current(T283* C){
T6 R=0;
/*[IF*/
if(X104use_current((/*RF2*/(C)->_left_side/*4*/))){
R=1;
}
else{
R=X104use_current((/*RF2*/(C)->_right_side/*8*/));
}
/*FI]*/
return R;
}
T6 r283stupid_switch(T283* C,T0* a1){
T6 R=0;
/*[IF*/
if(r49stupid_switch(X104result_type((/*RF2*/(C)->_left_side/*4*/)),a1)){
/*[IF*/
if(r49stupid_switch(X104result_type((/*RF2*/(C)->_right_side/*8*/)),a1)){
/*[IF*/
if(X104stupid_switch((/*RF2*/(C)->_left_side/*4*/),a1)){
/*[IF*/
if(X104stupid_switch((/*RF2*/(C)->_right_side/*8*/),a1)){
R=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r283to_runnable(T283* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*12*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
_e=X104to_runnable((/*RF2*/(C)->_left_side/*4*/),a1);
/*[IF*/
if((_e)==((void*)(NULL))){
{T68 se_tmp0;
r283error((*(se_tmp0=X104start_position((/*RF2*/(C)->_left_side/*4*/)),&se_tmp0)),((T0*)ms14_63393));
}
}
else{
(/*SFN*/C->_left_side)=_e;
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_e=X104to_runnable((/*RF2*/(C)->_right_side/*8*/),a1);
/*[IF*/
if((_e)==((void*)(NULL))){
{T68 se_tmp0;
r283error((*(se_tmp0=X104start_position((/*RF2*/(C)->_right_side/*8*/)),&se_tmp0)),((T0*)ms14_67082));
}
}
else{
(/*SFN*/C->_right_side)=_e;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0))&&(X52is_a(X52run_type(r283right_type(C)),X52run_type(r283left_type(C))))){
/*[IF*/
if((!(X104is_current((/*RF2*/(C)->_right_side/*8*/))))&&(!(X52is_like_current(r283left_type(C))))){
r66add_type(r283right_type(C),((T0*)ms283_3438));
r66add_type(r283left_type(C),((T0*)ms283_101250));
{T68 se_tmp0;
r283warning((*(se_tmp0=r283start_position(C),&se_tmp0)),((T0*)ms283_34500));
}
}
/*FI]*/
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(!(X52is_reference(X52run_type(r283left_type(C))))){
r66add_type(X52run_type(r283left_type(C)),((T0*)ms283_38600));
{T68 se_tmp0;
r283error((*(se_tmp0=r283start_position(C),&se_tmp0)),((T0*)ms283_71400));
}
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
R=((T0*)(C));
}
/*FI]*/
}
else{
{T283*n=((T283*)malloc(sizeof(*n))/*16*/);
*n=M283;
r283make(n,(/*RF2*/(C)->_left_side/*4*/),(/*RF2*/(C)->_right_side/*8*/));
R=((T0*)n);
}
R=r283to_runnable(((T283*)R),a1);
}
/*FI]*/
return R;
}
T0* r283right_type(T283* C){
T0* R=NULL;
R=X104result_type((/*RF2*/(C)->_right_side/*8*/));
return R;
}
void r283error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T68 r283start_position(T283* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_left_side/*4*/)),&se_tmp0));
}
return R;
}
void r100compile_to_c_old(T100* C){
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
X104compile_to_c_old((/*RF2*/(C)->_expression/*4*/));
}
/*FI]*/
}
T6 r100is_always_true(T100* C){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))==((void*)(NULL))){
R=1;
}
else if(X104is_static((/*RF2*/(C)->_expression/*4*/))){
R=(X104static_value((/*RF2*/(C)->_expression/*4*/)))==(1);
}
/*FI]*/
return R;
}
void r100make(T100* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_tag)=a1;
(/*SFN*/C->_expression)=a2;
(/*SFN*/C->_comment)=a3;
}
void r100afd_check(T100* C){
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
X104afd_check((/*RF2*/(C)->_expression/*4*/));
}
/*FI]*/
}
void r100compile_to_c(T100* C){
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
r325check_assertion((T325*)(oBC13cpp),(/*RF2*/(C)->_expression/*4*/),(/*RF2*/(C)->_tag/*0*/));
}
/*FI]*/
}
void r100c_declare_for_old(T100* C){
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
X104c_declare_for_old((/*RF2*/(C)->_expression/*4*/));
}
/*FI]*/
}
void r100collect_c_tmp(T100* C){
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
X104collect_c_tmp((/*RF2*/(C)->_expression/*4*/));
}
/*FI]*/
}
T6 r100use_current(T100* C){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
R=X104use_current((/*RF2*/(C)->_expression/*4*/));
}
/*FI]*/
return R;
}
T0* r100to_runnable(T100* C,T0* a1,T3 a2){
T0* R=NULL;
T0* _e=NULL;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*12*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
R=((T0*)(C));
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
_e=X104to_runnable((/*RF2*/(C)->_expression/*4*/),a1);
/*[IF*/
if((_e)==((void*)(NULL))){
{T68 se_tmp0;
r100error((*(se_tmp0=r100start_position(C),&se_tmp0)),((T0*)ms14_14056));
}
}
else{
(/*SFN*/C->_expression)=_e;
/*[IF*/
if(!(X52is_boolean(X104result_type((/*RF2*/(C)->_expression/*4*/))))){
r66add_type(X104result_type((/*RF2*/(C)->_expression/*4*/)),((T0*)ms14_18080));
{T68 se_tmp0;
r100error((*(se_tmp0=r100start_position(C),&se_tmp0)),((T0*)ms14_14056));
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL)))&&((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0))){
/*[IF*/
if(r47require_check((T47*)(oBC13run_control))){
X104assertion_check((/*RF2*/(C)->_expression/*4*/),a2);
}
/*FI]*/
}
/*FI]*/
}
else{
{T100*n=((T100*)malloc(sizeof(*n))/*16*/);
*n=M100;
r100make(n,(/*RF2*/(C)->_tag/*0*/),(/*RF2*/(C)->_expression/*4*/),(/*RF2*/(C)->_comment/*8*/));
R=((T0*)n);
}
R=r100to_runnable(((T100*)R),a1,a2);
}
/*FI]*/
return R;
}
T6 r100is_pre_computable(T100* C){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))==((void*)(NULL))){
R=1;
}
else{
R=X104is_pre_computable((/*RF2*/(C)->_expression/*4*/));
}
/*FI]*/
return R;
}
void r100error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T68 r100start_position(T100* C){
T68 R={NULL,0};
/*[IF*/
if(((/*RF2*/(C)->_tag/*0*/))!=((void*)(NULL))){
R=(/*RF2*/((T105*)((/*RF2*/(C)->_tag/*0*/)))->_start_position/*4*/);
}
else if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
{T68 se_tmp0;
R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*4*/)),&se_tmp0));
}
}
else{
R=(/*RF2*/((T81*)((/*RF2*/(C)->_comment/*8*/)))->_start_position/*0*/);
}
/*FI]*/
return R;
}
void r124compile_to_c_old(T124* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r124runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r124fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r124run_feature_has_result(T124* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
r124fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
void r124run_feature_match(T124* C,T0* a1){
r124run_feature_has_result(C);
X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}
T0* r124add_comment(T124* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r124with(T124* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r124run_feature_match(C,a5);
}
void r124mapping_c_target(T124* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r124result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r124afd_check(T124* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r124c_declare_for_old(T124* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r124collect_c_tmp(T124* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r124operator(void){
T0* R=NULL;
R=((T0*)ms15_47);
return R;
}
T6 r124use_current(T124* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r124runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r124fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r124to_runnable(T124* C,T0* a1){
T0* R=NULL;
T0* _target_type=NULL;
T0* _argument_type=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r124runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r124runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
_target_type=X104result_type(_t);
_argument_type=X104result_type(r124arg1(C));
/*[IF*/
if(X52is_real(_argument_type)){
/*[IF*/
if(X52is_integer(_target_type)){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
else if(X52is_double(_argument_type)){
/*[IF*/
if((X52is_integer(_target_type))||(X52is_real(_target_type))){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
/*FI]*/
_rf=r124run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r124run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T124*n=((T124*)malloc(sizeof(*n))/*24*/);
*n=M124;
r124with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r124to_integer(T124* C){
T2 R=0;
r124error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
return R;
}
void r124finalize(T124* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r124error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r124result_type(T124* C){
T0* R=NULL;
T0* _tla=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 257:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X104result_type(r124arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r124arg1(T124* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r124call_proc_call_stupid_switch(T124* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r124run_feature_for(T124* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r124static_result_base_class(T124* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X90result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X52static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r61base_class(((T61*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r124make(T124* C,T0* a1,T68 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T129*n=((T129*)malloc(sizeof(*n))/*20*/);
*n=M129;
r129make(n,r124operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T139*n=((T139*)malloc(sizeof(*n))/*16*/);
*n=M139;
/*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}
void r124fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r124assertion_check(T124* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r124arg1(C),a1);
}
T6 r124stupid_switch(T124* C,T0* a1){
T6 R=0;
R=r124call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(r124result_type(C)));
}
/*FI]*/
return R;
}
T6 r242is_always_true(T242* C){
T6 R=0;
T0* _assertion=NULL;
T2 _i=0;
_i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
R=1;
while (!((!(R))||((_i)==(0))))
{
_assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
R=r100is_always_true(((T100*)_assertion));
_i=(_i)-(1);
}
return R;
}
T0* r242check_assertion_mode(void){
T0* R=NULL;
R=((T0*)ms242_993);
return R;
}
void r242make(T242* C,T68 a1,T0* a2,T0* a3){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_header_comment)=a2;
(/*SFN*/C->_list)=a3;
}
void r242compile_to_c(T242* C){
T0* _assertion=NULL;
T6 _need_se_tmp=0;
T2 _i=0;
/*[IF*/
if(r242is_always_true(C)){
r325increment_static_expression_count((T325*)(oBC13cpp),r101count((T101*)((/*RF2*/(C)->_list/*12*/))));
}
else{
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_51064));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_741));
/*]*/
/*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_522));
/*]*/
/*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_712));
/*]*/
}
/*FI]*/
_i=1;
while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
{
_assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
/*[IF*/
if(r100is_always_true(((T100*)_assertion))){
}
else{
r100collect_c_tmp(((T100*)_assertion));
_need_se_tmp=r325se_tmp_open_declaration((T325*)(oBC13cpp));
/*[IRF3.3set_check_assertion_mode*/((((T325*)((T325*)(oBC13cpp))))->_check_assertion_mode)=(r242check_assertion_mode());
/*]*/
r100compile_to_c(((T100*)_assertion));
/*[IF*/
if(_need_se_tmp){
r325se_tmp_close_declaration((T325*)(oBC13cpp));
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_19791));
/*]*/
}
else{
/*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_2184));
/*]*/
}
/*FI]*/
}
/*FI]*/
}
void r242afd_check(T242* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
r100afd_check((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
_i=(_i)-(1);
}
}
/*FI]*/
}
T6 r242use_current(T242* C){
T6 R=0;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
while (!((R)||((_i)==(0))))
{
R=r100use_current((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
T0* r242to_runnable(T242* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*16*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
(/*SFN*/C->_run_feature)=r49top_rf((T49*)(oBC13small_eiffel));
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
(/*SFN*/C->_list)=r383runnable((/*RF2*/(C)->_list/*12*/),a1,(/*RF2*/(C)->_run_feature/*20*/),((T3)'\137'));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
R=((T0*)(C));
}
/*FI]*/
}
else{
R=r242twin(C);
/*[IRF3.3set_current_type*/((((T242*)(((T242*)R))))->_current_type)=(NULL);
/*]*/
R=r242to_runnable(((T242*)R),a1);
}
/*FI]*/
return R;
}
T0* r242twin(T242* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T242*)R)=*C;
return R;
}
T0*oBC13assertion_collector=NULL;
T0* r270generic_list(T270* C){
T0* R=NULL;
r270fatal_error_generic_list(C);
return R;
}
void r270gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(4,a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
T0* r270base_class(T270* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(/*RF2*/(C)->_base_class_name/*4*/);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r270look_up_for(T270* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r270base_class(C)),a1,a2);
return R;
}
T2 r270c_sizeof(void){
T2 R=0;
R=sizeof(T4);
return R;
}
T6 r270has_creation(T270* C,T0* a1){
T6 R=0;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
r270error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
return R;
}
void r270error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r270actual_reference(T0* a1){
T0* R=NULL;
T0* _cn=NULL;
/*[IF*/
if((X52run_time_mark(a1))==((void*)(((T0*)ms15_7576)))){
R=a1;
}
else{
{T68 se_tmp0;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_7576),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
_cn=((T0*)n);
}
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
/*]*/
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T6 r270is_a_in(T270* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r270written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r270to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r270is_native_array(T270* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r270is_a(T270* C,T0* a1){
T6 R=0;
/*[IF*/
if((X52is_real(a1))||(X52is_double(a1))){
R=1;
}
else if(r51is_subclass_of((T51*)(r270base_class(C)),X52base_class(a1))){
R=1;
}
/*FI]*/
/*[IF*/
if(!(R)){
r66add_type((T0*)C,((T0*)ms14_17460));
r66add_type(a1,((T0*)ms14_46));
}
/*FI]*/
return R;
}
void r270make(T270* C,T68 a1){
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_1168),a1);
(/*SFN*/C->_base_class_name)=((T0*)n);
}
}
T0*oBC270type_real_ref=NULL;
int fBC270type_real_ref=0;
T0* r270type_real_ref(void){
if(fBC270type_real_ref==0){fBC270type_real_ref=1;{
T0* _real_ref=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_7576));
/*]*/
_real_ref=((T0*)n);
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
oBC270type_real_ref=((T0*)n);
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_real_ref);
/*]*/
}
}}
return oBC270type_real_ref;
}
void r270fatal_error_generic_list(T270* C){
r66add_type((T0*)C,((T0*)ms52_28899));
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r270c_initialize_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'0'));
/*FI]*/
}
T0* r270smallest_ancestor(T270* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_integer(_rto)){
R=((T0*)(C));
}
else if(X52is_real(_rto)){
R=((T0*)(C));
}
else if(X52is_double(_rto)){
R=a1;
}
else{
R=r272smallest_ancestor((T272*)(r270type_real_ref()),_rto);
}
/*FI]*/
return R;
}
int fBC270check_type=0;
void r270check_type(T270* C){
if(fBC270check_type==0){fBC270check_type=1;{
T0* _rc=NULL;
T0* _bc=NULL;
_bc=r270base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_rc=r270run_class(C);
r270load_ref(((T0*)ms15_7576));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
r270error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms270_29392));
}
/*FI]*/
}
/*FI]*/
}}}
void r270load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
/*]*/
_cn=((T0*)n);
}
_rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
_rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
}
T0* r270to_runnable(T270* C,T0* a1){
T0* R=NULL;
R=((T0*)(C));
r270check_type(C);
return R;
}
void r270id_extra_information(T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
/*AF*//*AE*/
r48put_string(((T48*)a1),((T0*)ms52_759));
/*FI]*/
}
void r270gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(4,a1);
}
void r270c_type_for_external_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
r270c_type_for_argument_in(b1);
}/*]*/
/*FI]*/
}
void r270c_type_for_argument_in(T0* a1){
r7extend(((T7*)a1),((T3)'T'));
r7extend(((T7*)a1),((T3)'4'));
}
T0* r270run_time_mark(void){
T0* R=NULL;
R=((T0*)ms15_1168);
return R;
}
T0* r270run_class(T270* C){
T0* R=NULL;
R=r49run_class((T0*)C);
return R;
}
void r270demangling_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'E'));
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),r270run_time_mark());
}
T0* r270written_mark(void){
T0* R=NULL;
R=((T0*)ms15_1168);
return R;
}
T0* r174base_class_written(T174* C){
T0* R=NULL;
R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
return R;
}
T0*oBC172tmp_string=NULL;
void r174warning(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_warning((T66*)(oBC13eh));
}
T0* r174add_comment(T174* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r174mapping_c_target(T174* C,T0* a1){
T0* _rt=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_rt=X52run_type((/*RF2*/(C)->_result_type/*16*/));
/*[IF*/
if(X52is_reference(_rt)){
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'T');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(a1));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\52');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.6compile_to_c*/{T174* C1=C;
r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.6compile_to_c*/{T174* C1=C;
r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
}/*]*/
}
/*FI]*/
}
else if(X52is_reference(a1)){
/*[IRF3.6compile_to_c*/{T174* C1=C;
r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
}/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(_rt)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.6compile_to_c*/{T174* C1=C;
r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
}/*]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
T0* r174to_runnable(T174* C,T0* a1){
T0* R=NULL;
T0* _rt=NULL;
_rt=X52to_runnable((/*RF2*/(C)->_result_type/*16*/),a1);
/*[IF*/
if((_rt)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*16*/)),&se_tmp0)));
}
r174error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms174_24263));
}
else if((X52run_class(_rt))==((void*)(NULL))){
}
/*FI]*/
/*[IF*/
if((_rt)==((void*)((/*RF2*/(C)->_result_type/*16*/)))){
R=((T0*)(C));
}
else{
R=r174twin(C);
/*[IRF3.3set_result_type*/((((T174*)(((T174*)R))))->_result_type)=(_rt);
/*]*/
}
/*FI]*/
return R;
}
T2 r174to_integer(T174* C){
T2 R=0;
r174error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
return R;
}
T0* r174twin(T174* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T174*)R)=*C;
return R;
}
void r174error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r174static_result_base_class(T174* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=X52static_base_class_name((/*RF2*/(C)->_result_type/*16*/));
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
/*FI]*/
return R;
}
void r174make(T174* C,T68 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_to_string)=a2;
}
void r174name_clash_for(T174* C,T0* a1,T0* a2){
T0* _bc=NULL;
T0* _rc=NULL;
T0* _rf=NULL;
_bc=r174base_class_written(C);
/*[IF*/
if(r51has_simple_feature_name(((T51*)_bc),(/*RF2*/(C)->_to_string/*12*/))){
_rc=X52run_class(a1);
_rf=r50get_feature_with(((T50*)_rc),(/*RF2*/(C)->_to_string/*12*/));
/*[IF*/
if((_rf)!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position(_rf),&se_tmp0)));
}
}
/*FI]*/
r174error((/*RF2*/(C)->_start_position/*4*/),a2);
}
/*FI]*/
}
T6 r174produce_c(T174* C){
T6 R=0;
T0* _t=NULL;
/*[IF*/
if((/*RF2*/(C)->_is_used/*24*/)){
R=1;
}
else{
_t=X52run_type((/*RF2*/(C)->_result_type/*16*/));
/*[IF*/
if(X52is_expanded(_t)){
R=!(X52is_basic_eiffel_expanded(_t));
}
/*FI]*/
}
/*FI]*/
return R;
}
void r174c_declare(T174* C){
T0* _t=NULL;
/*[IF*/
if(r174produce_c(C)){
_t=X52run_type((/*RF2*/(C)->_result_type/*16*/));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC172tmp_string))))->_count)=(0);
/*]*/
X52c_type_for_result_in(_t,oBC172tmp_string);
r7extend((T7*)(oBC172tmp_string),((T3)'\40'));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC172tmp_string);
/*]*/
r325print_local((T325*)(oBC13cpp),(/*RF2*/(C)->_to_string/*12*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\75');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X52c_initialize(_t);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
else if(r47debug_check((T47*)(oBC13run_control))){
r174warning((/*RF2*/(C)->_start_position/*4*/),((T0*)ms174_33880));
}
/*FI]*/
}
T6 r174stupid_switch(T174* C,T0* a1){
T6 R=0;
/*[IF*/
if(r49stupid_switch((/*RF2*/(C)->_result_type/*16*/),a1)){
R=1;
}
/*FI]*/
return R;
}
void r174c_frame_descriptor(T174* C,T0* a1){
/*[IF*/
if(r174produce_c(C)){
r203increment((T203*)(oBC13c_frame_descriptor_local_count));
r7append((T7*)(oBC13c_frame_descriptor_format),(/*RF2*/(C)->_to_string/*12*/));
r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms174_14240));
r7append((T7*)(oBC13c_frame_descriptor_locals),(/*RF2*/(C)->_to_string/*12*/));
r7extend((T7*)(oBC13c_frame_descriptor_locals),((T3)'\54'));
X52c_frame_descriptor(a1);
}
/*FI]*/
}
void r300fe_c2c(T0* a1){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position(a1),&se_tmp0)));
}
r300fatal_error(((T0*)ms288_129648));
}
T6 r300stupid_switch_function(T0* a1,T0* a2){
T6 R=0;
return R;
}
void r300fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T6 r300stupid_switch_procedure(T0* a1,T0* a2){
T6 R=0;
return R;
}
void r171refer_to(T171* C,T68 a1,T0* a2,T2 a3){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_local_var_list)=a2;
(/*SFN*/C->_rank)=a3;
}
T0* r171add_comment(T171* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r171mapping_c_target(T171* C,T0* a1){
T0* _rt=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_rt=X52run_type(r171result_type(C));
/*[IF*/
if(X52is_reference(_rt)){
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'T');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(a1));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\52');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.6compile_to_c*/{T171* C1=C;
r325print_local((T325*)(oBC13cpp),r171to_string(C1));
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.6compile_to_c*/{T171* C1=C;
r325print_local((T325*)(oBC13cpp),r171to_string(C1));
}/*]*/
}
/*FI]*/
}
else if(X52is_reference(a1)){
/*[IRF3.6compile_to_c*/{T171* C1=C;
r325print_local((T325*)(oBC13cpp),r171to_string(C1));
}/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(_rt)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.6compile_to_c*/{T171* C1=C;
r325print_local((T325*)(oBC13cpp),r171to_string(C1));
}/*]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
T0* r171to_runnable(T171* C,T0* a1){
T0* R=NULL;
T0* _lvl=NULL;
T0* _rf=NULL;
_rf=r49top_rf((T49*)(oBC13small_eiffel));
_lvl=X334local_vars(_rf);
/*[IF*/
if(((/*RF2*/(C)->_local_var_list/*16*/))==((void*)(_lvl))){
R=((T0*)(C));
}
else{
{T171*n=((T171*)malloc(sizeof(*n))/*20*/);
*n=M171;
r171refer_to(n,(/*RF2*/(C)->_start_position/*4*/),_lvl,(/*RF2*/(C)->_rank/*12*/));
R=((T0*)n);
}
}
/*FI]*/
/*[IRF3.3set_is_used*/((((T174*)((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(((T169*)_lvl))->_flat_list/*8*/))),(/*RF2*/(C)->_rank/*12*/))/*)*/))))->_is_used)=(1);
/*]*/
return R;
}
T2 r171to_integer(T171* C){
T2 R=0;
r171error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
return R;
}
T0* r171to_string(T171* C){
T0* R=NULL;
R=(/*RF2*/((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/((T169*)((/*RF2*/(C)->_local_var_list/*16*/)))->_flat_list/*8*/))),(/*RF2*/(C)->_rank/*12*/))/*)*/))->_to_string/*12*/);
return R;
}
void r171error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r171result_type(T171* C){
T0* R=NULL;
R=r169type((T169*)((/*RF2*/(C)->_local_var_list/*16*/)),(/*RF2*/(C)->_rank/*12*/));
return R;
}
T0* r171static_result_base_class(T171* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=X52static_base_class_name(r171result_type(C));
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
/*FI]*/
return R;
}
void r171fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r171assertion_check(T171* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'E'))){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
r171fatal_error(((T0*)ms171_85234));
}
/*FI]*/
}
T6 r171stupid_switch(T171* C,T0* a1){
T6 R=0;
/*[IF*/
if(r49stupid_switch(r171result_type(C),a1)){
R=1;
}
/*FI]*/
return R;
}
T0* r263generic_list(T263* C){
T0* R=NULL;
r263fatal_error_generic_list(C);
return R;
}
void r263gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(6,a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
T0* r263base_class(T263* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(/*RF2*/(C)->_base_class_name/*4*/);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r263look_up_for(T263* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r263base_class(C)),a1,a2);
return R;
}
T2 r263c_sizeof(void){
T2 R=0;
R=sizeof(T6);
return R;
}
T6 r263has_creation(T263* C,T0* a1){
T6 R=0;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
r263error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
return R;
}
void r263error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r263actual_reference(T0* a1){
T0* R=NULL;
T0* _cn=NULL;
/*[IF*/
if((X52run_time_mark(a1))==((void*)(((T0*)ms15_12529)))){
R=a1;
}
else{
{T68 se_tmp0;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_12529),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
_cn=((T0*)n);
}
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
/*]*/
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T6 r263is_a_in(T263* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r263written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r263to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r263is_native_array(T263* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r263is_a(T263* C,T0* a1){
T6 R=0;
/*[IF*/
if(X52is_boolean(a1)){
R=1;
}
else{
R=r51is_subclass_of((T51*)(r263base_class(C)),X52base_class(a1));
}
/*FI]*/
/*[IF*/
if(!(R)){
r66add_type((T0*)C,((T0*)ms14_17460));
r66add_type(a1,((T0*)ms14_46));
}
/*FI]*/
return R;
}
void r263make(T263* C,T68 a1){
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_6405),a1);
(/*SFN*/C->_base_class_name)=((T0*)n);
}
}
void r263fatal_error_generic_list(T263* C){
r66add_type((T0*)C,((T0*)ms52_28899));
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r263c_initialize_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'0'));
/*FI]*/
}
T0* r263smallest_ancestor(T263* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_boolean(_rto)){
R=((T0*)(C));
}
else{
R=r272smallest_ancestor((T272*)(r263type_boolean_ref()),_rto);
}
/*FI]*/
return R;
}
int fBC263check_type=0;
void r263check_type(T263* C){
if(fBC263check_type==0){fBC263check_type=1;{
T0* _rc=NULL;
T0* _bc=NULL;
_bc=r263base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_rc=r263run_class(C);
r263load_ref(((T0*)ms15_12529));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
r263error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms263_37975));
}
/*FI]*/
}
/*FI]*/
}}}
void r263load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
/*]*/
_cn=((T0*)n);
}
_rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
_rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
}
T0* r263to_runnable(T263* C,T0* a1){
T0* R=NULL;
R=((T0*)(C));
r263check_type(C);
return R;
}
T0*oBC263type_boolean_ref=NULL;
int fBC263type_boolean_ref=0;
T0* r263type_boolean_ref(void){
if(fBC263type_boolean_ref==0){fBC263type_boolean_ref=1;{
T0* _boolean_ref=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_12529));
/*]*/
_boolean_ref=((T0*)n);
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
oBC263type_boolean_ref=((T0*)n);
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_boolean_ref);
/*]*/
}
}}
return oBC263type_boolean_ref;
}
void r263id_extra_information(T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
/*AF*//*AE*/
r48put_string(((T48*)a1),((T0*)ms52_759));
/*FI]*/
}
void r263gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(6,a1);
}
void r263c_type_for_external_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
r263c_type_for_argument_in(b1);
}/*]*/
/*FI]*/
}
void r263c_type_for_argument_in(T0* a1){
r7extend(((T7*)a1),((T3)'T'));
r7extend(((T7*)a1),((T3)'6'));
}
T0* r263run_time_mark(void){
T0* R=NULL;
R=((T0*)ms15_6405);
return R;
}
T0* r263run_class(T263* C){
T0* R=NULL;
R=r49run_class((T0*)C);
return R;
}
void r263demangling_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'E'));
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),r263run_time_mark());
}
T0* r263written_mark(void){
T0* R=NULL;
R=((T0*)ms15_6405);
return R;
}
void r126compile_to_c_old(T126* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r126runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r126fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r126run_feature_has_result(T126* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
r126fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
void r126run_feature_match(T126* C,T0* a1){
r126run_feature_has_result(C);
X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}
T0* r126add_comment(T126* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r126with(T126* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r126run_feature_match(C,a5);
}
void r126mapping_c_target(T126* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r126result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r126afd_check(T126* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r126c_declare_for_old(T126* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r126collect_c_tmp(T126* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r126operator(void){
T0* R=NULL;
R=((T0*)ms15_188);
return R;
}
T6 r126use_current(T126* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r126runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r126fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r126to_runnable(T126* C,T0* a1){
T0* R=NULL;
T0* _target_type=NULL;
T0* _argument_type=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r126runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r126runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
_target_type=X104result_type(_t);
_argument_type=X104result_type(r126arg1(C));
/*[IF*/
if(X52is_real(_argument_type)){
/*[IF*/
if(X52is_integer(_target_type)){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
else if(X52is_double(_argument_type)){
/*[IF*/
if((X52is_integer(_target_type))||(X52is_real(_target_type))){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
/*FI]*/
_rf=r126run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r126run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T126*n=((T126*)malloc(sizeof(*n))/*24*/);
*n=M126;
r126with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r126to_integer(T126* C){
T2 R=0;
r126error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
return R;
}
T6 r126is_static(T126* C){
T6 R=0;
/*[IF*/
if(X52is_integer(r126result_type(C))){
/*[IF*/
if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r126arg1(C)))){
R=1;
(/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))/(X104static_value(r126arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
void r126finalize(T126* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r126error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r126result_type(T126* C){
T0* R=NULL;
T0* _tla=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 257:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X104result_type(r126arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r126arg1(T126* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r126call_proc_call_stupid_switch(T126* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r126run_feature_for(T126* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r126static_result_base_class(T126* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X90result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X52static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r61base_class(((T61*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r126make(T126* C,T0* a1,T68 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T129*n=((T129*)malloc(sizeof(*n))/*20*/);
*n=M129;
r129make(n,r126operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T139*n=((T139*)malloc(sizeof(*n))/*16*/);
*n=M139;
/*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}
void r126fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r126assertion_check(T126* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r126arg1(C),a1);
}
T6 r126stupid_switch(T126* C,T0* a1){
T6 R=0;
R=r126call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(r126result_type(C)));
}
/*FI]*/
return R;
}
T0* r257generic_list(T257* C){
T0* R=NULL;
/*[IF*/
if(r257is_generic(C)){
R=X52generic_list(r257run_type(C));
}
else{
r257fatal_error_generic_list(C);
}
/*FI]*/
return R;
}
T6 r257need_gc_mark_function(T257* C){
T6 R=0;
R=X52need_gc_mark_function(r257run_type(C));
return R;
}
T2 r257id(T257* C){
T2 R=0;
R=(/*RF2*/((T50*)(r257run_class(C)))->_id/*4*/);
return R;
}
void r257cast_to_ref(T257* C){
X52cast_to_ref(r257run_type(C));
}
void r257c_header_pass1(T257* C){
X52c_header_pass1(r257run_type(C));
}
void r257just_before_gc_mark_in(T257* C,T0* a1){
X52just_before_gc_mark_in(r257run_type(C),a1);
}
void r257c_header_pass3(T257* C){
X52c_header_pass3(r257run_type(C));
}
void r257gc_call_new_in(T257* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(r257id(C),a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
T6 r257is_array(T257* C){
T6 R=0;
R=X52is_array(r257run_type(C));
return R;
}
T0* r257base_class(T257* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=r257base_class_name(C);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r257look_up_for(T257* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r257base_class(C)),a1,a2);
return R;
}
T2 r257c_sizeof(T257* C){
T2 R=0;
R=X52c_sizeof(r257run_type(C));
return R;
}
T6 r257has_creation(T257* C,T0* a1){
T6 R=0;
R=X52has_creation(r257run_type(C),a1);
return R;
}
T6 r257need_c_struct(T257* C){
T6 R=0;
R=X52need_c_struct(r257run_type(C));
return R;
}
void r257mapping_cast(T257* C){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
r257c_type_for_target_in(C,((T0*)ms52_15456));
r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
/*]*/
}
T0* r257actual_reference(T257* C,T0* a1){
T0* R=NULL;
R=X52actual_reference(r257run_type(C),a1);
return R;
}
T6 r257is_a_in(T257* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if(((/*RF2*/(C)->_written_mark/*16*/))==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r257to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r257is_native_array(T257* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r257is_boolean(T257* C){
T6 R=0;
R=X52is_boolean(r257run_type(C));
return R;
}
T6 r257is_a(T257* C,T0* a1){
T6 R=0;
R=X52is_a(r257run_type(C),a1);
return R;
}
T6 r257is_generic(T257* C){
T6 R=0;
R=X52is_generic(r257run_type(C));
return R;
}
void r257anchor_cycle_start(T257* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/((T67*)(oBC255visited))->_upper/*8*/))<(0)){
r67add_last((T67*)(oBC255visited),(/*RF2*/(C)->_start_position/*4*/));
}
else if(r67fast_has((T67*)(oBC255visited),(/*RF2*/(C)->_start_position/*4*/))){
_i=0;
while (!((_i)>((/*RF2*/((T67*)(oBC255visited))->_upper/*8*/))))
{
r66add_position(/*(IRF4.6item*/((/*RF2*/((T67*)(oBC255visited))->_storage/*0*/))[_i]/*)*/);
_i=(_i)+(1);
}
r257fatal_error(((T0*)ms14_47034));
}
else{
r67add_last((T67*)(oBC255visited),(/*RF2*/(C)->_start_position/*4*/));
}
/*FI]*/
}
void r257make(T257* C,T68 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_like_what)=a2;
r7copy((T7*)(((T0*)ms255_86756)),((T0*)ms14_1684));
r7extend((T7*)(((T0*)ms255_86756)),((T3)'\40'));
r7append((T7*)(((T0*)ms255_86756)),r179to_string((T179*)((/*RF2*/(C)->_like_what/*12*/))));
(/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r257string_aliaser()))),r21item(((T0*)ms255_86756)));
}
T0* r257run_type(T257* C){
T0* R=NULL;
T0* _fal=NULL;
_fal=X334arguments((/*RF2*/(C)->_run_feature/*20*/));
R=r178type(((T178*)_fal),/*(IRF4.6rank*/(/*RF2*/(((T179*)((/*RF2*/(C)->_like_what/*12*/))))->_rank/*12*/)/*)*/);
/*[IF*/
if(X52is_run_type(R)){
R=X52run_type(R);
}
/*FI]*/
return R;
}
void r257anchor_cycle_end(T257* C){
/*[IF*/
if(!se_cmpT68(((/*RF2*/(C)->_start_position/*4*/)),(/*(IRF4.6first*/((/*RF2*/((T67*)(oBC255visited))->_storage/*0*/))[0]/*)*/))){
/*[IRF3.3clear*/((((T67*)((T67*)(oBC255visited))))->_upper)=(-(1));
/*]*/
}
/*FI]*/
}
T6 r257is_reference(T257* C){
T6 R=0;
R=X52is_reference(r257run_type(C));
return R;
}
T6 r257is_real(T257* C){
T6 R=0;
R=X52is_real(r257run_type(C));
return R;
}
T6 r257is_user_expanded(T257* C){
T6 R=0;
R=X52is_user_expanded(r257run_type(C));
return R;
}
T6 r257is_run_type(T257* C){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*20*/))!=((void*)(NULL))){
R=X52is_run_type(r257run_type(C));
}
/*FI]*/
return R;
}
T6 r257is_integer(T257* C){
T6 R=0;
R=X52is_integer(r257run_type(C));
return R;
}
T6 r257is_any(T257* C){
T6 R=0;
R=X52is_any(r257run_type(C));
return R;
}
void r257fatal_error_generic_list(T257* C){
r66add_type((T0*)C,((T0*)ms52_28899));
r66print_as_fatal_error((T66*)(oBC13eh));
}
T6 r257is_string(T257* C){
T6 R=0;
R=X52is_string(r257run_type(C));
return R;
}
void r257c_initialize_in(T257* C,T0* a1){
X52c_initialize_in(r257run_type(C),a1);
}
T0* r257smallest_ancestor(T257* C,T0* a1){
T0* R=NULL;
R=X52smallest_ancestor(r257run_type(C),a1);
return R;
}
void r257c_header_pass2(T257* C){
X52c_header_pass2(r257run_type(C));
}
T0* r257string_aliaser(void){
if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
{T21*n=((T21*)malloc(1));
oBC13string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22524));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_29246));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22596));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_60016));
r21add2(((T0*)ms15_26880));
r21add2(((T0*)ms15_33240));
r21add2(((T0*)ms15_21624));
r21add2(((T0*)ms15_60060));
r21add2(((T0*)ms15_26908));
r21add2(((T0*)ms15_33270));
r21add2(((T0*)ms15_21648));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC13string_aliaser;
}